/**
 * @file all_gather_matmul_demo_def.h
 *
 * Copyright (C) 2024. Huawei Technologies Co., Ltd. All rights reserved.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 */

#ifndef ALL_GATHER_MATMUL_DEMO_DEF_H
#define ALL_GATHER_MATMUL_DEMO_DEF_H

constexpr uint32_t RANK_DIM = 8;
constexpr uint32_t RANK_M = 512;
constexpr uint32_t RANK_K = 5120;
constexpr uint32_t RANK_N = 640;
constexpr bool IS_TRANS_A = false;
constexpr bool IS_TRANS_B = false;
constexpr int64_t GATHER_INDEX = 0;
constexpr int64_t COMM_TURN = 0;
constexpr bool IS_GATHER_OUT = true;

// tiling
constexpr int32_t TILE_M = 448;
constexpr uint32_t HCCL_CMD_ALLGATHER = 6;
constexpr uint32_t FP16_BF16_SIZE = 2;
constexpr uint32_t CUSTOM_TILING_KEY = 100; // full mesh + no nd2nz + no cast bias
constexpr int32_t L1_BUFFER_SIZE = 512 * 1024;

#endif